// MisCopter - Common settings across all sources
//  Greg Kennedy 2009

#ifndef COMMON_H_
#define COMMON_H_

// Sets default screen W and H values.
#define DEFAULT_SCREEN_X 640
#define DEFAULT_SCREEN_Y 480

// because SDL_Mixer doesn't define one...
#define MIX_DEFAULT_CHUNKSIZE 1024

// Common stdlib-type includes
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

// SDL includes.  Some platforms need preprocessor help
//  to find these.
#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
#ifdef __APPLE__
	#include "SDL_mixer/SDL_mixer.h"
	#include "SDL_image/SDL_image.h"

	#include "CoreFoundation/CoreFoundation.h"
#else
	#include "SDL/SDL_mixer.h"
	#include "SDL/SDL_image.h"
#endif

// Common local includes.
#include "texops.h"
#include "load_ops.h"
#include "cfg_parse/cfg_parse.h"

// TODO: Add an entry for each unique gamestate here.
#define GAMESTATE_INTRO1 1
#define GAMESTATE_INTRO2 2
#define GAMESTATE_MENU 3
#define GAMESTATE_CAREER 4
#define GAMESTATE_CAREER_MOVIE 5
#define GAMESTATE_USER 6
#define GAMESTATE_LOAD 7
#define GAMESTATE_MULTI 8
#define GAMESTATE_CREDITS 9
#define GAMESTATE_INIT_GAME 10
#define GAMESTATE_GAME 11
#define GAMESTATE_HANGAR 12
#define GAMESTATE_ERROR 100
#define GAMESTATE_EXIT -1

// Stub function, prints to stdout so we know to fill this in later.
#define STUB printf("STUB: %s (line %d, file %s)\n", __FUNCTION__, __LINE__, __FILE__);

#endif
